package cn.iune.erp.payment;

import java.math.BigDecimal;
import java.sql.Date;
import java.sql.SQLException;
import java.util.List;

import com.alibaba.fastjson.JSONObject;

public interface IAccountPaymentDao {

	public void insert(AccountPayment a);
	
	public AccountPayment update(AccountPayment a);

	public void delete(String fID);

	public AccountPayment getByID(String fID);
	
	public List<AccountPayment> getAll();
	
	public List<AccountPayment> getByMasterID(String fMasterID);

	BigDecimal getRecAmountToday(List<Object> params);

	BigDecimal getPayAmountToday(List<Object> params);

//	AccountPayment getYSKDByOriginNo(String originNo, String enterpriseNo);

	JSONObject query(JSONObject data) throws SQLException;

	JSONObject querySimple(JSONObject data) throws SQLException;


	List<AccountPayment> getByWriteOffNo(String writeOffNo, String enterpriseNo);

//	AccountPayment getYSKDByNo(String accountPaymentNo, String enterpriseNo);

//	AccountPayment getYFKDByNo(String accountPaymentNo, String enterpriseNo);

//	AccountPayment getSKDJByNo(String accountPaymentNo, String enterpriseNo);

	List<AccountPayment> getUnclearYSKDList(String customerID, String enterpriseNo);

//	BigDecimal getUnclearYSKDAmount(String customerID, String enterpriseNo);

//	AccountPayment getRDJQByNo(String accountPaymentNo, String enterpriseNo);

	List<AccountPayment> getUnclearYECZList(String customerID, String enterpriseNo);

	JSONObject create(JSONObject data);

	List<AccountPayment> getActualSKD(Date dateStart, Date dateEnd, String enterpriseNo);

	List<AccountPayment> getActualFKD(Date dateStart, Date dateEnd, String enterpriseNo);

	List<AccountPayment> getActualSKD(String customerID, Date dateStart, Date dateEnd, String enterpriseNo);

	List<AccountPayment> getActualFKD(String customerID, Date dateStart, Date dateEnd, String enterpriseNo);

	AccountPayment getByNo(String accountPaymentNo, String enterpriseNo);





}
